A business enterprise could involve multiple different kinds of application servers on which different applications could be deployed in order to service the needs of the business. These applications might be remotely accessible by business clients over a network using web services. Because the application servers can be of different kinds, the application servers can be said to be heterogeneous relative to each other. Each different kind of application server might store application metadata in a different format. Each different kind of application server might provide different techniques through which that application metadata could be accessed. Because of the potential diversity of application servers and web services, businesses operating such an enterprise often can feel the need to hire specialist administrators for the different kinds of application servers and different kinds of web services. Keeping a large staff of administrators employed for these purposes can become quite expensive.
In order to attempt to reduce costs, a business enterprise might desire, among other actions, to implement uniform security policies that can be applied to all of the web services in the enterprise. Potentially, each separate web service in the enterprise can be treated as an enterprise resource against which a set of enterprise-wide security policies and rules can be specified and enforced, thereby reducing the need for the business to maintain a large administrative staff. However, in order to implement this approach, the end point of each web service in the enterprise might need to be identified first. Each web service can have its own identifier that uniquely identifies that web service in the enterprise. Such an identifier can be derived from a web service's metadata, typically stored on an application server on which an application using the web service has been deployed. For example, each web service's identifier can be composed of a combination of the web service's name, the port that the web service uses, an operation name, etc. Such a combination of information can be gleaned from metadata stored at the application server.
However, because application server kinds can be diverse, as can be the techniques that each server permits in order to facilitate the gleaning of such metadata, obtaining the metadata from each separate application server can become a daunting task.